package com.customer.service;

import com.customer.dto.AITextRequestDTO;
import com.customer.vo.AIResponseVO;

/**
 * AI服务接口
 */
public interface AIService {
    /**
     * 调用AI服务
     *
     * @param requestDTO 请求参数
     * @return 响应结果
     */
    AIResponseVO callAI(AITextRequestDTO requestDTO);

    /**
     * 执行TTS转换
     *
     * @param text      文本内容
     * @param voiceType 音色类型
     * @return 语音数据Base64编码
     */
    String doTTS(String text, String voiceType);

    /**
     * 执行ASR转换
     *
     * @param audioUrl   音频URL
     * @param format     音频格式
     * @param sampleRate 音频采样率
     * @return 识别后的文本内容
     */
    String doASRByUrl(String audioUrl, String format, Integer sampleRate);

    /**
     * 执行ASR转换
     *
     * @return 识别后的文本内容
     */
    String doASRByData(byte[] audioData, String format, Integer sampleRate) throws Exception;


    /**
     * 执行ASR转换
     *
     * @return 识别后的文本内容
     */
    // 在接口中添加以下方法声明
    String doASRByFilePath(String audioFilePath) throws Exception;
}